Skip to content

Conversation

@trliner
Copy link
Contributor

@trliner trliner commented Apr 23, 2025

The CI pipeline is current failing for certain matrix configurations that rely on ActiveSupport < 7.1:

An error occurred while loading ./spec/storage/grid_fs_spec.rb.
Failure/Error: require 'carrierwave'

NameError:
  uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:16:in `<module:LoggerThreadSafeLevel>'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:9:in `<module:ActiveSupport>'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger_thread_safe_level.rb:8:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger_silence.rb:5:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger_silence.rb:5:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger.rb:3:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support/logger.rb:3:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support.rb:29:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/activesupport-6.1.7.10/lib/active_support.rb:29:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave/uploader/file_size.rb:1:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave/uploader/file_size.rb:1:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave/uploader.rb:14:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave/uploader.rb:14:in `<top (required)>'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave.rb:97:in `require'
# ./vendor/bundle/ruby/2.6.0/gems/carrierwave-3.0.7/lib/carrierwave.rb:97:in `<top (required)>'
# ./spec/spec_helper.rb:7:in `require'
# ./spec/spec_helper.rb:7:in `<top (required)>'

This is because prior to 7.1, ActiveSupport was relying on concurrent-ruby to require the logger library, but concurrent-ruby stopped requiring logger starting in version 1.3.5.

This issue was fixed in rails/rails#54264.

The only place in carrierwave-mongoid that references Logger is here:

Mongo::Logger.level = ::Logger::INFO

So, requiring logger in spec_helper.rb fixes the failing CI matrix configurations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant